package oop.java0321;

/**
 * 3：学士后班级有班级名称，班主任姓名，开班日期等属性，
 * 学生信息用数组表示。
 * 用方法模拟 新生加入班级，以及获得班级人数的方法。
 * 实现在修改学生姓名功能
 * 在增加新生的时候，
 * 要求姓名不能重复，如果重复，则加入失败。。。
 * 实现查找学生姓名的方法
 */
public class MyClass {
    String name;
    String chargeTeacher;
    String date;
    String[] student = new String[5];
    //学生数量
    int count;

    //添加学生
    public void addStudent(String stuName) {
        for (int i = 0; i < student.length; i++) {
            if (student[i] == null) {
                for (int j = 0; j < count; j++) {
                    if (stuName.equals(student[j])) {
                        System.out.println("姓名重复，添加失败！");
                        //找到重复的姓名，结束方法
                        return;
                    }
                }
                //循环出来未找到重复的姓名，可以添加
                student[i] = stuName;
                count++;
                System.out.println(stuName + "加入班级成功！");
                return;
            }
        }
        System.out.println("班级已满！");
    }

    //修改学生姓名功能
    public boolean update(String oldName,String newName){
        for(int i=0;i<count;i++){
            //找到该学生
            if(student[i].equals(oldName)){
                student[i]=newName;
                return true;
            }
        }
        //没找到这个名字
        return false;
    }
    //获取学生数量
    public int getCount() {
        return count;
    }

    //输出班级信息
    public void showInfo() {
        System.out.println("班级名：" + name);
        System.out.println("班主任：" + chargeTeacher);
        System.out.println("开班日期：" + date);
        System.out.println("学生数量：" + getCount());
    }

    //输出所有学生信息
    public void showStudent() {
        System.out.println("学生信息：");
        for (int i = 0; i < count; i++) {
            System.out.print(student[i] + "\t");
        }
        System.out.println();
        System.out.println("学生数量：" + getCount());

    }

    //查找指定位置的学生姓名的方法
    public String showIndexInfo(int index) {
        if (index >= 0 && index < count) {
            return student[index];
        }
        return "未查到相关信息！";
    }
}